Work management systems, including call management systems, work distributor systems, and automatic call distribution (ACD) systems, distribute work items—whether tangible or intangible, and referred to herein as tasks—for servicing to resources, such as processing machines or call-center agents. In order to operate efficiently, work management systems must anticipate when resources will become available to serve a new task, so that they can have a task ready for a resource as soon as the resource becomes available and preferably no earlier. Otherwise, tasks such as calls must wait in queue for resources to become available, to the dissatisfaction of the callers, or resources sit idle while awaiting tasks to become available, to the detriment of operating efficiency of the system.
Work management systems often do not use an accurate forecast of the future availability of presently-unavailable resources. In these kinds of systems, resources are presently unavailable because they are performing tasks that are designated to be uninterruptible. That is, a resource can serve only one task at a time and cannot start a new task until the present task is completed. Additionally, only one resource can usually be assigned to a particular task. Illustrative such tasks involve live clients in transactions such as telephone calls. Background tasks may be dynamically interspersed amongst them. Resources that are presently handling tasks are rendered presently unavailable. However, each unavailable resource can be expected to complete its task within a future time interval with a determinable probability. This expectation for the “arrival” of a resource can be based upon its time-in-state and the particular operational characteristics of the type of task which the resource is serving.
Typically, automatic systems forecast the arrival of new tasks better than they forecast the arrival of resources to serve them. For example, one known call-management system does not use dynamic forecasts at all. Instead, its prediction algorithm triggers the initiation of new outgoing calls (tasks) for each agent (resource) after the agent has been in the ‘work’ or ‘update’ state for a relatively-fixed amount of time. The system does not compute a probability of task completion for agents, either collectively or individually. This results in low agent utilization, and in high client-nuisance rates due to clients' time spent waiting in queue and client-abandoned calls.
A task-acquisition subsystem should strive to keep resources busy serving tasks at all times. For example, an outbound dialer should initiate outbound calls based upon the aggregate availability of agents. The time horizon for this determination should be close to the amount of time that it takes to get the called party to answer an incremental outbound call. Then outbound calls can be initiated to generate a demand for service that appropriately reduces the gap between the supply of agents and the demand for them.
An automatic call distributor or work distributor dispatches a resource to serve lower-priority tasks when the supply of resources exceeds by some selected amount the demand for service by higher-priority tasks, and vice versa. In this case, the relevant time horizon for a forecast is close to the amount of time in which a resource could be assigned to the lower-priority tasks.